In circuits made with CMOS technology, where programmable components are used to make non-volatile memories (ROM, EPROM, EEPROM, FLASH), it is necessary to provide a reference system which is able to recognize programmed elements (which are turned off) from non-programmed, or virgin, elements (which are turned on). Recognition is achieved by comparing the current I.sub.vr in a virgin reference cell with the current in the matrix element or cell which it is desired to read. The latter current will ideally be zero for a programmed cell (I.sub.pm), non-zero for a virgin cell (I.sub.vm). In order to have a balanced comparison, where the discrimination value lies at halfway between I.sub.vm and I.sub.pm, it is known to shift the discrimination threshold by means either of differently sized loads on the matrix cell and on the reference cell (unbalanced loads), or of an auxiliary current I.sub.vr /2 added to the current from the matrix cell under scrutiny (constant or variable offset current).
In either case, the difference of the reading from the threshold for a virgin cell and for a programmed cell never exceeds half the value of the current in the virgin cell (I.sub.vm /2). Moreover, with the offset current technique, where autonomously implemented current mirrors are used for generating the offset current, the performance may decay further if the electrical characteristics of the transistors in the current mirror are not perfectly identical to the other components of the storage device.
Accordingly, the main object of the invention is to provide an improved sense circuit for recognizing the virgin or programmed status of the cells in storage devices such as non-volatile memories, which widens the effective difference of the matrix cell current from the threshold current both for the virgin and for the programmed cell, thus enhancing the discrimination capability of the sense circuit.